arm 编译相关命令arm 您所在的位置:网站首页 armgcc 使用文档 arm 编译相关命令arm

arm 编译相关命令arm

2024-07-01 10:16| 来源: 网络整理| 查看: 265

在linux中输入vi Makefile 来实现创建Makefile文件

注意:命令行前必须加TAB键

例如:将两个文件led.c和crt0.S汇编文件,制作一个Makefile文件

led.bin : crt0.S led.c arm-linux-gcc -c -o crt0.o crt0.c arm-linux-gcc -c -o led.o led.c arm-linux-ld -Ttext 0x00000000 -g crt0.o led.o -o led_elf arm-linux-objcopy -O binary -S led_elf led.bin arm-linux-objdump -D -m arm led_elf > led.dis clean: rm -f led_elf led.dis led.bin *.o

 led.bin : crt0.S led.c 指的是依赖关系,led.bin是目标文件,:后面是依赖文件

 

arm-linux-gcc  编译选项 -o  编译及链接,会生成一个exe可执行文件-Wall  指定产生全部的警告信息  -O/-O2/-O3   数字越高,代表优化的更多,可以使生成的执行文件的提高执行效率-c 编译不链接,会生成一个*.obj文件,若后面加了-o,则表示指定输出文件名称-static   静态链接,生成的文件会非常大, 好处在于不需要动态链接库,也可以运行-S 只激活预处理和编译,就是指把文件编译成为汇编代码

例如: arm-linux-gcc -c -o  led.o led.c   :编译不链接

arm-linux-gcc   -o  led  led.c       :编译以及链接

 

arm-linux-ld    连接选项 -Ttext 0x00000000              指代码段头地址为0x00000000-T链接脚本                          指使用链接脚本来进行更复杂的地址设置,包括了代码段,数据段,bss段等-o                                        后面指的将多个文件连接在一起,生成一个obj文件,上面的名称是led_elf。 -pie                    生成动态链接地址段,一般在新版uboot里会看到

 

arm-linux-objcopy   复制选项,支持格式转换 -O binary     用来指定生成文件按照后面的格式来输出,其中binary是指生成二进制(.bin)文件。     -S                 不从源文件中复制重定位信息和符号信息到目标文件中去

 

arm-linux-objdump   反编译选项  -D                反编译所有段-b binary     指定反编译目标文件格式-m ram       指定反编译目标文件所需的架构,这里是ram架构

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有